package org.example.service;

import org.example.pojo.DStaff;
import com.baomidou.mybatisplus.extension.service.IService;
import org.example.pojo.select.DStaffSelect;
import org.example.pojo.select.ExceptionStaffSelect;
import org.example.pojo.select.PendingStaffSelect;
import org.example.pojo.select.ResignStaffSelect;
import org.example.utils.Result;

import java.util.List;
import java.util.Map;

/**
* @author chenhongkai
* @description 针对表【d_staff】的数据库操作Service
* @createDate 2024-03-11 10:20:48
*/
public interface DStaffService extends IService<DStaff> {
    public Result<Map> SelectPendingStaff(PendingStaffSelect pendingStaffSelect);
    public Result<Map> SelectAllStaffs(DStaffSelect dStaffSelect);

    public Result<DStaff> DeleteApartmentStaffs(List<DStaff> dStaffList);

    public Result<DStaff> AddApartmentStaffs(DStaffSelect dStaffSelect);
    public Result<Integer> UpdateStaffApartment(DStaffSelect dStaffSelect);
    public Result<DStaff> SelectOneByName(DStaff dStaff);
    public Result<DStaff> SelectOneById(DStaff dStaff);

    public Result<DStaff> AddStaffs(DStaffSelect dStaffSelect);

    public Result<DStaff> UpdateStaffStatus(DStaff dStaff);

    public Result<Map> selectStaffPhoneNumber(DStaff dStaff);

    public Result<Map> AddPendingStaff(DStaffSelect dStaffSelect);

    public Result<Map> SelectResignStaff(ResignStaffSelect resignStaffSelect);

    Result<Map> DeleteResignStaff(ResignStaffSelect resignStaffSelect);

    public Result<Map> SelectExceptionStaff(ExceptionStaffSelect exceptionStaffSelect);

    public Result<Map> SelectAllDownStaffs();

    public Result<DStaff> DeleteStaff(DStaff dStaff);

    public Result<DStaff> UpdateStaff(DStaff dStaff);

    public Result<Map> SelectStaffInfo(DStaffSelect dStaffSelect);

    public Result<Integer> exception_resignStaffCount();

    Result<Integer> pending_staffCount();
}
